int a[5];
float b;
char c[6];
int func(int i, int y) { return i; }
int func() {  //错误类型3，名称的重复定义
  return 0;
}
int func1(){} //错误类型17，函数没有返回语句
int main() {
  // this is a test
  int i;
  char p[10];
  float d = 5.5, i;  //错误类型3，名称的重复定义
  j = i + 1;         //错误类型1，使用未定义的变量
  inc(i);            //错误类型2，调用未定义或未声明的函数

  a[i] = 2.2;  //错误类型15，赋值号两边的表达式类型不匹配

  10 = i;  //错误类型12，赋值号左边不是左值表达式
  i++;

  a = a + 1;  //错误类型7，操作数类型不匹配(a是数组变量)
  d += 10;    //错误类型7，复合运算类型不匹配（d是float型）

  func = 3;  //错误类型5，对函数名采用非函数调用形式访问 (//同时15，赋值号两边的表达式类型不匹配 )
  func();
  func(1);  //错误类型6，函数调用时参数个数不匹配(过少)
  func(2, 3);
  func(2, 3.1);  //错误类型7, 函数调用时实参和形参类型不匹配
  func(1, 2, 3.1);  //错误类型6，函数调用时参数个数不匹配(过多)

  i[10];  //错误类型8，对非数组变量采用下标变量的形式访问
  i(10);  //错误类型4， 对非函数名采用函数调用形式

  p[1.5] = 10;  //错误类型9，数组变量的下标不是整型表达式
  p[2] = 'A';

  for (a = 1, kk = 1; a < 10; a++) {
    int c1 = 0;
    c1 = c1++;
    // func++;                                                              //---------错误类型5，对函数名采用非函数调用形式访问 (在词法分析阶段就会报错 
    //12++;                                                                 //---------错误类型13. 自增非左值 (在词法分析阶段就会报错
    for (c = 1; c < 5; c++) {
      int c2 = 3;
    }
    continue;
  }
  continue;  //错误类型19，continue位置非法
  break;     //错误类型18，break位置非法

  return d;  //错误类型16，返回值类型不匹配
}
